MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Test suite for MagicMirror²

    Scheduled Pinned Locked Moved Upcoming Features
    42 Posts 5 Posters 42.7k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • morozgrafixM Offline
      morozgrafix Moderator
      last edited by

      Great idea to setup test suite. Thanks for getting it started @roramirez. I’ve made some minor cleanup changes on top of your initial work, PR is sitting on GitHub. I will try to contribute to tests as much as I can.

      R 1 Reply Last reply Reply Quote 1
      • R Offline
        roramirez Core Contributors @morozgrafix
        last edited by

        @morozgrafix Thanks!, Is already merged :)

        Easy module development with MagicMirror Module Template

        1 Reply Last reply Reply Quote 1
        • R Offline
          roramirez Core Contributors
          last edited by

          Update and news:

          Thanks to @qistoph we have 2 improvement

          • Now every commit introduced previous is checked by tests suite in Travis.
          • Added a new test case https://github.com/MichMich/MagicMirror/pull/648/files

          Also, @qistoph and I suggest have two side for test.

          • The backend application and node_helpers
          • The frontend application running in electron, running client side javascript.

          For this last is possible use Spectron … but… is needed will set nodeIntegration to true. One idea is check a enviroment variable and if present set this variable to true.

          For other way, work with serveronly and get test from client side from there.

          If some have comments and ideas from this is welcome.

          PS: I have a sample of use spectron https://github.com/roramirez/MagicMirror/commit/c99581c15b4cb008b2800f40ecbaf9c9862c7ceb

          Easy module development with MagicMirror Module Template

          Q 1 Reply Last reply Reply Quote 1
          • Q Offline
            qistoph @roramirez
            last edited by

            Okay, just another brainfart.

            For the tests to run consistently and in such a way that we can test whatever is needed, we’re probably going to need a separate configuration file, maybe even a couple. If I’ve read the code correctly, we could set nodeIntegration in this config, without touching the code in MM to check for environment settings…

            This would be cleaner imho

            R 1 Reply Last reply Reply Quote 0
            • R Offline
              roramirez Core Contributors @qistoph
              last edited by

              @qistoph Sound good and I like it. Now we can set by electronOptions in configuration file, same logic as you say.

              The point to resolved is how can tell to MagicMirror read a specific file of configuration. Now is set in hardcoded. With than can be create multiples instances of configuration files into tests suite (tests directory) and run test to these. Added this task in Trello.

              Easy module development with MagicMirror Module Template

              1 Reply Last reply Reply Quote 0
              • R Offline
                roramirez Core Contributors
                last edited by

                Hi,

                Today I’ve working a problem of issue with Electron and other things, all details here
                https://github.com/MichMich/MagicMirror/issues/577

                After testing in two enviroment different for Lite and with Pixel on Raspbian, the process is long because you need the create SD and follow the instruction and check what could be the problem.

                I think this can be automatic and running on a hosted system or my own machine. Someone know howto use a arm image for RaspberryPi and run like a Docker’s container? for run a test of enviroments. I think can be a help to include in the Test Suite.

                Easy module development with MagicMirror Module Template

                morozgrafixM 1 Reply Last reply Reply Quote 0
                • morozgrafixM Offline
                  morozgrafix Moderator @roramirez
                  last edited by

                  @roramirez I haven’t played with Docker in a while and never tried raspbian on a docker container. Quickly glanced at DockerHub and it seems that people are able to do that. https://hub.docker.com/search/?isAutomated=1&isOfficial=0&page=1&pullCount=0&q=raspbian&starCount=0
                  I may take a look into it, but it all depends on my availability.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    roramirez Core Contributors
                    last edited by

                    Hi, I recently pushed a Pull Request with two e2e testing.
                    https://github.com/MichMich/MagicMirror/pull/669

                    These use their own configurations like @qistoph mention and after added the MM_CONFIG_FILE variable for MagicMirror.

                    It’s really easy create new test for check a different part of MagicMirror and their modules.

                    Easy module development with MagicMirror Module Template

                    strawberry 3.141S 1 Reply Last reply Reply Quote 1
                    • strawberry 3.141S Offline
                      strawberry 3.141 Project Sponsor Module Developer @roramirez
                      last edited by

                      @roramirez what is the reason for a 10 sec timeout in each test? If there are a many tests this will sum up

                      Please create a github issue if you need help, so I can keep track

                      R 1 Reply Last reply Reply Quote 0
                      • R Offline
                        roramirez Core Contributors @strawberry 3.141
                        last edited by

                        @strawberry-3.141 said in Test suite for MagicMirror²:

                        what is the reason for a 10 sec timeout in each test? If there are a many tests this will sum up

                        It’s does not accumulate. It’s a timeout, the maximun time for the test. You can set different timeout for every test.

                        Easy module development with MagicMirror Module Template

                        1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 1 / 5
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy