aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2015-12-15edge: Add test for GprsCodingSchemeJacob Erlbeck1-2/+11
This test checks constructors, predicates, and operators of the GprsCodingScheme class. Sponsored-by: On-Waves ehf
2015-07-21llc: Add CoDel AQM implementationJacob Erlbeck1-2/+9
This commit adds an implementation of the CoDel algorithm based on the reference pseudocode presented in http://queue.acm.org/appendices/codel.html. Instead of abstracting the queue itself, the implementation provides a time stamp based automaton which is invoked after a package has been dequeued. Note that the modifications of the algorithm shown in https://tools.ietf.org/html/draft-ietf-aqm-codel-01 are not yet applied. Sponsored-by: On-Waves ehf
2015-06-29Revert "llc/test: Explicitly enable extended initialiser lists"Jacob Erlbeck1-4/+0
This reverts commit a99d95e3afc528829f657e37f0572ac78bf06d4b. That commit has only removed the warning but not the error. Sponsored-by: On-Waves ehf
2015-06-29llc/test: Explicitly enable extended initialiser listsJacob Erlbeck1-0/+4
To support extended initialiser lists some platforms (at least debian squeeze) require to add -std=c++0x or -std=gnu++0x to CXXFLAGS. While that option is deprecated on newer platforms (at least gcc 4.8) this options is still supported on every platform currently in use. This commit adds -std=gnu++0x to the CXXFLAGS used to compile LlcTest.cpp. Sponsored-by: On-Waves ehf
2015-06-22llc/test: Add test program for LLC related testsJacob Erlbeck1-1/+13
Sponsored-by: On-Waves ehf
2015-06-22build: Add -lrt to AM_LDFLAGSJacob Erlbeck1-0/+1
This is needed to link programs using clock_gettime and related functions when compiling with older glibc versions. This should fix the Jenkins build. Nevertheless fixing this in configure.ac were probably nicer. Sponsored-by: On-Waves ehf
2015-05-22llist: Reduce the external dependencies of this testHolger Hans Peter Freyther1-3/+0
Debian is using the classic bfd linker and when passing libosmogb as link dependency it always wants/needs to resolve the bssgp_prim_cb symbol (which is to be provided by the application). Only keep the libosmocore dependency. Fixes: lib/libosmogb.so: undefined reference to `bssgp_prim_cb' collect2: error: ld returned 1 exit status Makefile:511: recipe for target 'llist/LListTest' failed
2015-05-20llist: Add a C++ wrapper for linux_listJacob Erlbeck1-2/+11
This commit adds the LListHead class which is a wrapper around the linuxlist. It adds an additional member to refer to the container, since the container_of macro doesn't work properly with C++ classes. All functions and macros from linuxlist.h are support except for the entry macros (e.g. llist_entry, llist_for_each_entry, ...). To access the container (entry), an entry() method is provided instead: llist_for_each(pos, &elems) { pos->entry()->do_something(); } Sponsored-by: On-Waves ehf
2015-05-20ms: Add GprsMs class to hold per-MS informationJacob Erlbeck1-2/+13
Currently only TBF objects are used to handle the data flow between the MS and the SGSN. MS specific data (e.g. pending LLC frames, TLLI) is copied between successive TBFs. If all TBFs (uplink and downlink) are idle for some time, all information about the MS is discarded in the PCU. This makes the implementation of some features more difficult, e.g. proper TLLI and timing advance handling, connection based CS selection, and proper management of multiple TBF. This commit adds the GprsMs class that is intended to hold information directly related to the MS and to keep references to the active TBFs. The class is not yet integrated with the other PCU code. A GprsMs object container and MS specific fields (TA, CS) will be added in later commits. Note that calling detach_tbf() can possibly delete the MS object depending on the callback implementation. Ticket: #1674 Sponsored-by: On-Waves ehf
2015-02-23tests: Fix library link orderJacob Erlbeck1-4/+4
Currently libgprs.la is listed after libosmocore.so which leads to link errors when compiling under Ubuntu with the system build tools (no cross compiling). This patch moves libgprs.la in front of the external libs. Sponsored-by: On-Waves ehf
2013-11-21types: Add a simple testcase for basic types and fix the LLC codeHolger Hans Peter Freyther1-2/+11
* Make append_data, remaining_space and fits_in_current.. work on m_length and not the index. This ways things can't overflow. * The current API consumer was moving the m_index so it should have worked okay.
2013-10-30tbf: Learn and propagate the TLLI changes due a new P-TMSIHolger Hans Peter Freyther1-2/+11
During a routing area update a new P-TMSI was assigned. During the PACKET CONTROL ACK on the DL we notice the change of TLLI but didn't propagate this. This means that a Routing Area Update Complete was only sent after a new RACH request. Addresses: <0007> gprs_rlcmac_meas.cpp:103 UL RSSI of TLLI=0x88661bc6: -67 dBm <0002> bts.cpp:945 Got ACK, but UL TBF is gone TLLI=0xe512eba3 <0007> gprs_rlcmac_meas.cpp:158 DL packet loss of IMSI=274080000004765 / TLLI=0xe512eba3: 0% <0002> tbf.cpp:668 TBF TFI=0 TLLI=0x88661bc6 T3169 timeout during transsmission <0002> tbf.cpp:690 - Assignment was on PACCH <0002> tbf.cpp:694 - No uplink data received yet
2013-10-30alloc: Add very basic test case for the alloc_a algorithmHolger Hans Peter Freyther1-2/+11
2013-09-04emu: Add a crash re-producer for the SGSN (and the concept of tests)Holger Hans Peter Freyther1-1/+2
Introduce the concept of tests that will be ran one after the other. This new test will send static message that will lead to the opening of a PDP context. At this point one should use ping with a large packet size and suspend/stop the emulator. Once the NS connection is considered dead the SGSN will crash with a double free. Reproduce: 0.) Add IMSI 901700000003094 to the ACL 1.) Stop/Suspend the emulation process so the NS Alive times out 2.) Use ping IP -s 2048 This will create a double free... #4 0xb7bb2646 in talloc_abort_double_free () at talloc.c:175 #5 0xb7bbd41a in talloc_chunk_from_ptr (ptr=0x8091208) at talloc.c:190 #6 _talloc_free (ptr=0x8091208) at talloc.c:517 #7 talloc_free (ptr=ptr@entry=0x8091208) at talloc.c:990 #8 0xb7bb319b in msgb_free (m=m@entry=0x8091208) at msgb.c:72 #9 0x0804db54 in sndcp_send_ud_frag (fs=0xbfffcc6c) at gprs_sndcp.c:423 #10 sndcp_unitdata_req (msg=msg@entry=0x808eed8, lle=0x808fbc8, nsapi=5 '\005', mmcontext=mmcontext@entry=0x80903e8) at gprs_sndcp.c:471
2013-09-04emu: Use OpenBSC code to decode the LLC and add assertionsHolger Hans Peter Freyther1-1/+2
Use the OpenBSC SGSN code to parse the LLC data and look into the data we receive. Add assertions to verify the the sequence number is increasing.
2013-09-04emu: Send a static GPRS ATTACH request and wait for the reply.Holger Hans Peter Freyther1-1/+1
This will send a static message. It will trigger the GMM code on the SGSN and might ask us for the IMEI/IMSI or send us an accept. As we are not replying at all the SGSN needs to send new requests and we can observe if the sequence number is increasing like it should.
2013-09-04emu: Create an app that allows to communicate with a SGSNHolger Hans Peter Freyther1-0/+10
This code can open a BSSGP connection toward a SGSN and will inititate the unblocking. It does not send any user data.
2013-08-02tests: Move the RLCMACTest into the test directory and setup autotestHolger Hans Peter Freyther1-1/+49
2013-08-02tests: Create tests directory and move the VTY testing into thereHolger Hans Peter Freyther1-0/+16